﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыСообщений
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"c95bb81e-f803-4d21-98c8-35f0470ea49c\", \"Представление\":\"Раздел\"}")]
		Раздел = 0,
		[EnumMember(Value = "{\"Ссылка\":\"98255106-edc6-4511-94c8-440f14e1e222\", \"Представление\":\"Информация\"}")]
		Информация = 1,
		[EnumMember(Value = "{\"Ссылка\":\"28fa5f41-ed65-4337-913c-a657c688609a\", \"Представление\":\"ВажнаяИнформация\"}")]
		ВажнаяИнформация = 2,//Важная информация
		[EnumMember(Value = "{\"Ссылка\":\"e3001587-b9a9-4649-aa4d-4838ebe5c777\", \"Представление\":\"Ошибка\"}")]
		Ошибка = 3,
		[EnumMember(Value = "{\"Ссылка\":\"125e86f3-3cf9-4738-9ba7-565dd8fe266e\", \"Представление\":\"Таблица\"}")]
		Таблица = 4,
		[EnumMember(Value = "{\"Ссылка\":\"81060f82-4193-467f-a3fe-b597f624442c\", \"Представление\":\"ТаблицаСворачиваемаяСИтогами\"}")]
		ТаблицаСворачиваемаяСИтогами = 5,//Таблица сворачиваемая с итогами
	}
	public static partial class ВидыСообщений_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Раздел = new Guid("f035c898-0e47-9ca4-4d21-f803c95bb81e");
		public static readonly Guid Информация = new Guid("0f44c894-e114-22e2-4511-edc698255106");
		public static readonly Guid ВажнаяИнформация = new Guid("57a63c91-88c6-9a60-4337-ed6528fa5f41");//Важная информация
		public static readonly Guid Ошибка = new Guid("38484daa-e5eb-77c7-4649-b9a9e3001587");
		public static readonly Guid Таблица = new Guid("5d56a79b-fed8-6e26-4738-3cf9125e86f3");
		public static readonly Guid ТаблицаСворачиваемаяСИтогами = new Guid("97b5fea3-24f6-2c44-467f-419381060f82");//Таблица сворачиваемая с итогами
		public static ВидыСообщений Получить(this ВидыСообщений Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыСообщений Получить(this ВидыСообщений Значение, Guid Ссылка)
		{
			if(Ссылка == Раздел)
			{
				return ВидыСообщений.Раздел;
			}
			else if(Ссылка == Информация)
			{
				return ВидыСообщений.Информация;
			}
			else if(Ссылка == ВажнаяИнформация)
			{
				return ВидыСообщений.ВажнаяИнформация;
			}
			else if(Ссылка == Ошибка)
			{
				return ВидыСообщений.Ошибка;
			}
			else if(Ссылка == Таблица)
			{
				return ВидыСообщений.Таблица;
			}
			else if(Ссылка == ТаблицаСворачиваемаяСИтогами)
			{
				return ВидыСообщений.ТаблицаСворачиваемаяСИтогами;
			}
			return ВидыСообщений.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыСообщений Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыСообщений Значение)
		{
			switch (Значение)
			{
				case ВидыСообщений.Раздел: return Раздел;
				case ВидыСообщений.Информация: return Информация;
				case ВидыСообщений.ВажнаяИнформация: return ВажнаяИнформация;
				case ВидыСообщений.Ошибка: return Ошибка;
				case ВидыСообщений.Таблица: return Таблица;
				case ВидыСообщений.ТаблицаСворачиваемаяСИтогами: return ТаблицаСворачиваемаяСИтогами;
			}
			return Guid.Empty;
		}
	}
}